package com.yodel.www.tenhou;

/**
 * HogeBeanのリストをソートするComparator<BR>
 * java.util.Comparatorインターフェースを実装しています。
 *
 */
public class UserInfoComparator implements java.util.Comparator<UserInfo> {

	/**
	 * 昇順でソートするフラグ
	 */
	private boolean isSortAscend = true;

	/**
	 * ソートする種別
	 */
	private String sortParam = "Rate";

	/**
	 * ソート種別名Rate
	 */
	private static final String RATE = "Rate";

	/**
	 * ソート種別名PlayerName
	 */
	private static final String PLAYER_NAME = "PlayerName";

	/**
	 * コンストラクタ
	 */
	public UserInfoComparator(boolean sort , String param){
		this.sortParam = param;
		this.isSortAscend = sort;
	}



	/**
	 * Rate降順にソートします。
	 * 2100,
	 */
	public int compare(UserInfo o1, UserInfo o2) {
		UserInfo b1 = (UserInfo) o1;
		UserInfo b2 = (UserInfo) o2;

		//ソート種別に応じてソートする。
		if(sortParam.equals(RATE)) {
			if(isSortAscend){//昇順ソート
				return b1.getRate().compareTo(b2.getRate());
			}else{//降順ソート
				return b2.getRate().compareTo(b1.getRate());
			}
		} else if (sortParam.equals(PLAYER_NAME)) {
			if(isSortAscend){//昇順ソート
				return b1.getPlayerName().compareTo(b2.getPlayerName());
			}else{//降順ソート
				return b2.getPlayerName().compareTo(b1.getPlayerName());
			}
		}


		//どのソート条件にも適さなかった場合に、0をReturnする。
		return 0;
	}
}